-cmpCapitalC := ComObjCreate("Scripting.Dictionary")
-cmpSmallE := ComObjCreate("Scripting.Dictionary")
-cmpCapitalE := ComObjCreate("Scripting.Dictionary")
-cmpCapitalV := ComObjCreate("Scripting.Dictionary")
-cmpArrow.item[chr(34)] := "{u+01df}" ; (ǟ) a with diaeresis and macron
-cmpCapitalA.item[chr(34)] := "{u+01de}" ; (Ǟ) A with diaeresis and macron
-cmpArrow.item["."] := "{u+01e1}" ; (ǡ) a with dot above and macron
-cmpCapitalA.item["."] := "{u+01e0}" ; (Ǡ) A with dot above and macron
-cmpArrow.item["'"] := "{u+01fb}" ; (ǻ) a with ring above and acute
-cmpCapitalA.item["'"] := "{u+01fa}" ; (Ǻ) A with ring above and acute
-cmpCircumflex.item["'"] := "{u+1e09}" ; (ḉ) c with cedilla and acute
-cmpCapitalC.item["'"] := "{u+1e08}" ; (Ḉ) C with cedilla and acute
-cmpSmallE.item["-"] := "{u+01e3}" ; (ǣ) ae with macron
-cmpCapitalE.item["-"] := "{u+01e2}" ; (Ǣ) AE with macron
-cmpSmallE.item["'"] := "{u+01fd}" ; (ǽ) ae with acute
-cmpCapitalE.item["'"] := "{u+01fc}" ; (Ǽ) AE with acute
-cmpRingAbove.item[","] := "{u+01ed}" ; (ǭ) o with ogonek and macron
-cmpCapitalO.item[","] := "{u+01ec}" ; (Ǭ) O with ogonek and macron
-cmpRingAbove.item["'"] := "{u+01ff}" ; (ǿ) o with stroke and acute
-cmpCapitalO.item["'"] := "{u+01fe}" ; (Ǿ) O with stroke and acute
-cmpRingAbove.item[chr(34)] := "{u+022b}" ; (ȫ) o with diaeresis and macron
-cmpCapitalO.item[chr(34)] := "{u+022a}" ; (Ȫ) O with diaeresis and macron
-cmpRingAbove.item["~"] := "{u+022d}" ; (ȭ) o with tilde and macron
-cmpCapitalO.item["~"] := "{u+022c}" ; (Ȭ) O with tilde and macron
-cmpRingAbove.item["."] := "{u+0231}" ; (ȱ) o with dot above and macron
-cmpCapitalO.item["."] := "{u+0230}" ; (Ȱ) O with dot above and macron
-cmpCaron.item["-"] := "{u+01d6}" ; (ǖ) u with diaeresis and macron
-cmpCapitalV.item["-"] := "{u+01d5}" ; (Ǖ) U with diaeresis and macron
-cmpCaron.item["'"] := "{u+01d8}" ; (ǘ) u with diaeresis and acute
-cmpCapitalV.item["'"] := "{u+01d7}" ; (Ǘ) U with diaeresis and acute
-cmpCaron.item["v"] := "{u+01da}" ; (ǚ) u with diaeresis and caron
-cmpCapitalV.item["v"] := "{u+01d9}" ; (Ǚ) U with diaeresis and caron
-cmpCaron.item["``"] := "{u+01dc}" ; (ǜ) u with diaeresis and grave
-cmpCapitalV.item["``"] := "{u+01db}" ; (Ǜ) U with diaeresis and grave
+cmpCapitalG := ComObjCreate("Scripting.Dictionary")
+cmpCapitalG.item["a"] := "{u+0201}" ; (ȁ) a with double grave
+cmpCapitalG.item["A"] := "{u+0200}" ; (Ȁ) A with double grave
+cmpCapitalG.item["e"] := "{u+0205}" ; (ȅ) e with double grave
+cmpCapitalG.item["E"] := "{u+0204}" ; (Ȅ) E with double grave
+cmpCapitalG.item["i"] := "{u+0209}" ; (ȉ) i with double grave
+cmpCapitalG.item["I"] := "{u+0208}" ; (Ȉ) I with double grave
+cmpCapitalG.item["o"] := "{u+020d}" ; (ȍ) o with double grave
+cmpCapitalG.item["O"] := "{u+020c}" ; (Ȍ) O with double grave
+cmpCapitalG.item["r"] := "{u+0211}" ; (ȑ) r with double grave
+cmpCapitalG.item["R"] := "{u+0210}" ; (Ȑ) R with double grave
+cmpCapitalG.item["u"] := "{u+0215}" ; (ȕ) u with double grave
+cmpCapitalG.item["U"] := "{u+0214}" ; (Ȕ) U with double grave
+
+
+; Compose : Inverted Breve (B)
+
+cmpCapitalB := ComObjCreate("Scripting.Dictionary")
+cmpCapitalB.item["a"] := "{u+0203}" ; (ȃ) a with inverted breve
+cmpCapitalB.item["A"] := "{u+0202}" ; (Ȃ) A with inverted breve
+cmpCapitalB.item["e"] := "{u+0207}" ; (ȇ) e with inverted breve
+cmpCapitalB.item["E"] := "{u+0206}" ; (Ȇ) E with inverted breve
+cmpCapitalB.item["i"] := "{u+020b}" ; (ȋ) i with inverted breve
+cmpCapitalB.item["I"] := "{u+020a}" ; (Ȋ) I with inverted breve
+cmpCapitalB.item["o"] := "{u+020f}" ; (ȏ) o with inverted breve
+cmpCapitalB.item["O"] := "{u+020e}" ; (Ȏ) O with inverted breve
+cmpCapitalB.item["r"] := "{u+0213}" ; (ȓ) r with inverted breve
+cmpCapitalB.item["R"] := "{u+0212}" ; (Ȓ) R with inverted breve
+cmpCapitalB.item["u"] := "{u+0217}" ; (ȗ) u with inverted breve
+cmpCapitalB.item["U"] := "{u+0216}" ; (Ȗ) U with inverted breve
+
+
+; Compose : Circumflex Below (I)
+
+cmpCapitalI.item["d"] := "{u+1e13}" ; (ḓ) d with circumflex below
+cmpCapitalI.item["D"] := "{u+1e12}" ; (Ḓ) D with circumflex below
+cmpCapitalI.item["e"] := "{u+1e19}" ; (ḙ) e with circumflex below
+cmpCapitalI.item["E"] := "{u+1e18}" ; (Ḙ) E with circumflex below
+cmpCapitalI.item["l"] := "{u+1e3d}" ; (ḽ) l with circumflex below
+cmpCapitalI.item["L"] := "{u+1e3c}" ; (Ḽ) L with circumflex below
+cmpCapitalI.item["n"] := "{u+1e4b}" ; (ṋ) n with circumflex below
+cmpCapitalI.item["N"] := "{u+1e4a}" ; (Ṋ) N with circumflex below
+cmpCapitalI.item["t"] := "{u+1e71}" ; (ṱ) t with circumflex below
+cmpCapitalI.item["T"] := "{u+1e70}" ; (Ṱ) T with circumflex below
+cmpCapitalI.item["u"] := "{u+1e77}" ; (ṷ) u with circumflex below
+cmpCapitalI.item["U"] := "{u+1e76}" ; (Ṷ) U with circumflex below
+
+
+; Compose : Tilde Below (T)
+
+cmpCapitalT.item["e"] := "{u+1e1b}" ; (ḛ) e with tilde below
+cmpCapitalT.item["E"] := "{u+1e1a}" ; (Ḛ) E with tilde below
+cmpCapitalT.item["i"] := "{u+1e2d}" ; (ḭ) i with tilde below
+cmpCapitalT.item["I"] := "{u+1e2c}" ; (Ḭ) I with tilde below
+cmpCapitalT.item["u"] := "{u+1e75}" ; (ṵ) u with tilde below
+cmpCapitalT.item["U"] := "{u+1e74}" ; (Ṵ) U with tilde below
+
+
+; Compose : Line Below (L)
+
+cmpCapitalL := ComObjCreate("Scripting.Dictionary")
+cmpCapitalL.item["b"] := "{u+1e07}" ; (ḇ) b with line below
+cmpCapitalL.item["B"] := "{u+1e06}" ; (Ḇ) B with line below
+cmpCapitalL.item["d"] := "{u+1e0f}" ; (ḏ) d with line below
+cmpCapitalL.item["D"] := "{u+1e0e}" ; (Ḏ) D with line below
+cmpCapitalL.item["h"] := "{u+1e96}" ; (ẖ) h with line below
+cmpCapitalL.item["k"] := "{u+1e35}" ; (ḵ) k with line below
+cmpCapitalL.item["K"] := "{u+1e34}" ; (Ḵ) K with line below
+cmpCapitalL.item["l"] := "{u+1e3b}" ; (ḻ) l with line below
+cmpCapitalL.item["L"] := "{u+1e3a}" ; (Ḻ) L with line below
+cmpCapitalL.item["n"] := "{u+1e49}" ; (ṉ) n with line below
+cmpCapitalL.item["N"] := "{u+1e48}" ; (Ṉ) N with line below
+cmpCapitalL.item["r"] := "{u+1e5f}" ; (ṟ) r with line below
+cmpCapitalL.item["R"] := "{u+1e5e}" ; (Ṟ) R with line below
+cmpCapitalL.item["t"] := "{u+1e6f}" ; (ṯ) t with line below
+cmpCapitalL.item["T"] := "{u+1e6e}" ; (Ṯ) T with line below
+cmpCapitalL.item["z"] := "{u+1e95}" ; (ẕ) z with line below
+cmpCapitalL.item["Z"] := "{u+1e94}" ; (Ẕ) Z with line below
+
+
+; Compose : Ring Below, Breve Below and Diaeresis Below (R)
+
+cmpCapitalR := ComObjCreate("Scripting.Dictionary")
+cmpCapitalR.item["a"] := "{u+1e01}" ; (ḁ) a with ring below
+cmpCapitalR.item["A"] := "{u+1e00}" ; (Ḁ) A with ring below
+cmpCapitalR.item["h"] := "{u+1e2b}" ; (ḫ) h with breve below
+cmpCapitalR.item["H"] := "{u+1e2a}" ; (Ḫ) H with breve below
+cmpCapitalR.item["u"] := "{u+1e73}" ; (ṳ) u with diaeresis below
+cmpCapitalR.item["U"] := "{u+1e72}" ; (Ṳ) U with diaeresis below
+
+
+; Compose : Hook Above (<)
+
+cmpLessThan.item["a"] := "{u+1ea3}" ; (ả) a with hook above
+cmpLessThan.item["A"] := "{u+1ea2}" ; (Ả) A with hook above
+cmpLessThan.item["e"] := "{u+1ebb}" ; (ẻ) e with hook above
+cmpLessThan.item["E"] := "{u+1eba}" ; (Ẻ) E with hook above
+cmpLessThan.item["i"] := "{u+1ec9}" ; (ỉ) i with hook above
+cmpLessThan.item["I"] := "{u+1ec8}" ; (Ỉ) I with hook above
+cmpLessThan.item["o"] := "{u+1ecf}" ; (ỏ) o with hook above
+cmpLessThan.item["O"] := "{u+1ece}" ; (Ỏ) O with hook above
+cmpLessThan.item["u"] := "{u+1ee7}" ; (ủ) u with hook above
+cmpLessThan.item["U"] := "{u+1ee6}" ; (Ủ) U with hook above
+cmpLessThan.item["y"] := "{u+1ef7}" ; (ỷ) y with hook above
+cmpLessThan.item["Y"] := "{u+1ef6}" ; (Ỷ) Y with hook above
+
+
+; Compose : Dot Below (>)
+
+cmpGreaterThan.item["a"] := "{u+1ea1}" ; (ạ) a with dot below
+cmpGreaterThan.item["A"] := "{u+1ea0}" ; (Ạ) A with dot below
+cmpGreaterThan.item["b"] := "{u+1e05}" ; (ḅ) b with dot below
+cmpGreaterThan.item["B"] := "{u+1e04}" ; (Ḅ) B with dot below
+cmpGreaterThan.item["d"] := "{u+1e0d}" ; (ḍ) d with dot below
+cmpGreaterThan.item["D"] := "{u+1e0c}" ; (Ḍ) D with dot below
+cmpGreaterThan.item["e"] := "{u+1eb9}" ; (ẹ) e with dot below
+cmpGreaterThan.item["E"] := "{u+1eb8}" ; (Ẹ) E with dot below
+cmpGreaterThan.item["h"] := "{u+1e25}" ; (ḥ) h with dot below
+cmpGreaterThan.item["H"] := "{u+1e24}" ; (Ḥ) H with dot below
+cmpGreaterThan.item["i"] := "{u+1ecb}" ; (ị) i with dot below
+cmpGreaterThan.item["I"] := "{u+1eca}" ; (Ị) I with dot below
+cmpGreaterThan.item["k"] := "{u+1e33}" ; (ḳ) k with dot below
+cmpGreaterThan.item["K"] := "{u+1e32}" ; (Ḳ) K with dot below
+cmpGreaterThan.item["l"] := "{u+1e37}" ; (ḷ) l with dot below
+cmpGreaterThan.item["L"] := "{u+1e36}" ; (Ḷ) L with dot below
+cmpGreaterThan.item["m"] := "{u+1e43}" ; (ṃ) m with dot below
+cmpGreaterThan.item["M"] := "{u+1e42}" ; (Ṃ) M with dot below
+cmpGreaterThan.item["n"] := "{u+1e47}" ; (ṇ) n with dot below
+cmpGreaterThan.item["N"] := "{u+1e46}" ; (Ṇ) N with dot below
+cmpGreaterThan.item["o"] := "{u+1ecd}" ; (ọ) o with dot below
+cmpGreaterThan.item["O"] := "{u+1ecc}" ; (Ọ) O with dot below
+cmpGreaterThan.item["r"] := "{u+1e5b}" ; (ṛ) r with dot below
+cmpGreaterThan.item["R"] := "{u+1e5a}" ; (Ṛ) R with dot below
+cmpGreaterThan.item["s"] := "{u+1e63}" ; (ṣ) s with dot below
+cmpGreaterThan.item["S"] := "{u+1e62}" ; (Ṣ) S with dot below
+cmpGreaterThan.item["t"] := "{u+1e6d}" ; (ṭ) t with dot below
+cmpGreaterThan.item["T"] := "{u+1e6c}" ; (Ṭ) T with dot below
+cmpGreaterThan.item["u"] := "{u+1ee5}" ; (ụ) u with dot below
+cmpGreaterThan.item["U"] := "{u+1ee4}" ; (Ụ) U with dot below
+cmpGreaterThan.item["v"] := "{u+1e7f}" ; (ṿ) v with dot below
+cmpGreaterThan.item["V"] := "{u+1e7e}" ; (Ṿ) V with dot below
+cmpGreaterThan.item["w"] := "{u+1e89}" ; (ẉ) w with dot below
+cmpGreaterThan.item["W"] := "{u+1e88}" ; (Ẉ) W with dot below
+cmpGreaterThan.item["y"] := "{u+1ef5}" ; (ỵ) y with dot below
+cmpGreaterThan.item["Y"] := "{u+1ef4}" ; (Ỵ) Y with dot below
+cmpGreaterThan.item["z"] := "{u+1e93}" ; (ẓ) z with dot below
+cmpGreaterThan.item["Z"] := "{u+1e92}" ; (Ẓ) Z with dot below